package com.sywl.ytcx.mapper;


import com.sywl.ytcx.config.PostStatsVO;
import com.sywl.ytcx.entity.atwork.Atwork;
import com.sywl.ytcx.entity.order.Order;
import com.sywl.ytcx.entity.user.User;

import com.sywl.ytcx.entity.user.UserLikeTag;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

@Mapper
public interface UserMapper {

    User loginUser(String account, String password);//登录用户
    // 插入新用户
    int insertUser(@Param("user") User user);
    // 根据账号查询用户
    User selectUserByAccount(String account);
    // 根据ID查询用户
    User selectUserById(int userId);
    int updateUserStatus(int userId, String status);

    //
    int countByCreatedAt(@Param("date") LocalDate date);
    int countBetweenCreatedAt(@Param("start") LocalDate start,
                              @Param("end") LocalDate end);

    /**
     * 查询所有用户行为，输出(userId, itemType, itemId, score)
     */



    //判断账号是否存在
    int countAccount(@Param("account") String account);



    //插入一条用户喜好标签记录
    int insert(@Param("userId") Integer userId, @Param("postTagId") Integer postId);

    //查询所有用户喜好标签
    List<UserLikeTag> selectAll();

    // 根据用户ID查询用户喜好标签列表
    List<UserLikeTag> selectByUserId(@Param("userId") Integer userId);


}